#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
    File Name:      platformInsert
    Author:         'daze'
    date:           2018/11/7
    description:    向 platform 表插入账号，防止密码泄露，这里进行加密
"""
import binascii

import AutoWool.main.utils.dj_single_use_utils
import os

from AutoWool.main.utils.log_utils import Log
from AutoWool.main.utils.security_utils import SecurityUtils
from model.models.account import Account

def encode_input_str():
    Log.log('开始加密，输入 exit 或 回车 退出')
    while True:
        to_encode_str_content = input('请输入要加密的内容(输入 exit 或 回车 退出): ')
        if to_encode_str_content == 'exit' or to_encode_str_content == '':
            Log.log('加密完毕，退出程序')
            break
        bytes2hex_result = SecurityUtils.encode2hex(to_encode_str_content)
        Log.log("将加密后的 bytes 转换为十六进制形式为: " + bytes2hex_result)
        # decode_result = SecurityUtils.decode(hex2bytes(bytes2hex_result))
        # Log.log('解密后结果为:' + decode_result)


def decode_input_str():
    Log.log('开始解密，输入 exit 或回车 退出')
    while True:
        to_decode_hex_content = input(
            '请输入要解密的内容 (16 进制字符串,输入 exit 或 回车 退出): ')
        if to_decode_hex_content == 'exit' or to_decode_hex_content == '':
            Log.log('解密完毕，退出程序')
            break
        decoded_result = SecurityUtils.decode_hex(to_decode_hex_content)
        Log.log('解密后的结果为: ' + decoded_result)


if __name__ == "__main__":
    Log.log('开始加解密，输入 exit 或回车退出')
    while True:
        select_option_str = input('请输入要加密 0 还是解密 1(输入 exit 或回车退出): ')
        if select_option_str == 'exit' or select_option_str == '':
            Log.log('退出程序')
            break
        if select_option_str == '0':
            encode_input_str()
        else:
            decode_input_str()
